home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / umich / utils / tosfixes / hsmoda05.lzh / HSM_DOKU / RSVF_COO.TXT < prev    next >
Text File  |  1994-10-03  |  7KB  |  204 lines

  1. Datenstruktur zur Abfrage und Anzeige zusätzlicher Möglichkeiten der 
  2. seriellen (und evtl. sonstiger) Kommunikationsroutinen
  3. ====================================================================
  4.  
  5. Data structure for request and display of additional possibilities of
  6. serial (and possibly other) communication routines
  7. =====================================================================
  8. Note for the English reading people: The English version is appended on 
  9. the German, look for it!
  10.  
  11.  
  12. Cookie
  13. ------
  14. Name: RSVF  (RS232 Version Fast)
  15. Wert: Zeiger auf Datenstruktur
  16.       Zeiger muβ <>0 sein und auf gerade Adresse weisen
  17.  
  18. Datenstruktur
  19. -------------
  20. Beliebig viele Objekte sind als Liste hintereinander abgelegt. An das Ende 
  21. einer Liste kann über eine Verkettung eine weitere Liste angehängt sein. 
  22. Am Ende der letzten Liste befindet sich eine Ende-Kennung.
  23.  
  24. Objekt
  25. ------
  26. Jedes Objekt ist 8 Byte lang und beginnt auf einer geraden Adresse. 
  27. Byte 0..3 sind ein Zeiger auf den Namen der Schnittstelle (Filename) im 
  28. ASCII-Code. Der Name muß auf einer geraden Adresse beginnen und ist 
  29. nullterminiert.
  30. Byte 4..7 enthalten Angaben über die Eigenschaften des Objektes (der 
  31. Schnittstelle). Noch nicht definierte Bits/Bytes müssen vom anlegenden 
  32. Programm auf 0 gesetzt werden.
  33. Sollten irgendwann zusätzliche Informationen nötig werden, so wird deren 
  34. Vorhandensein auf noch zu definierende Weise in Byte 4..7 angezeigt. Die 
  35. Informationen selbst liegen dann vor dem Namen der Schnittstelle.
  36.  
  37. Besondere Objekte
  38. -----------------
  39. Bei besonderen Objekten ist Byte4.Bit7 =0.
  40. Ende-Objekt:
  41.  Byte 0..3  0, ein NIL-Zeiger, kennzeichnet das Ende der Datenstuktur  
  42. Verkettungsobjekt:
  43.  Byte 0..3  Zeiger auf die nächste Liste mit Objekten.
  44.  
  45. Eigenschaftsdefinitionen im Wert
  46. --------------------------------
  47. Byte 4:
  48.  Bit7  =1: dieser Name ist eine Schnittstelle
  49.  Bit6  =1: Schnittstelle ist dem GEMDOS für File-I/O bekannt
  50.  Bit5  =1: Schnittstelle ist dem BIOS bekannt (Bco*-Routinen)
  51.  für den Rest fällt uns noch was ein (Fähigkeiten der Schnittstelle)
  52.  Bit0  =1: Vor dem Namen (Namensadresse-4) steht ein Zeiger
  53.            auf ein Feld mit Zeigern auf Funktionen, wie es auch der
  54.            Magic Version3 Funktion Dcntl übergeben wird.
  55. Byte 5:
  56.  noch frei 
  57. Byte 6:
  58.  BIOS-Nummer der Schnittstelle (Bco*-Routinen)
  59. Byte 7:
  60.  noch frei
  61.  
  62.  
  63. Sinn und Zweck
  64. --------------
  65. Kommunikationsprogramme können durch RSVF herausfinden, welche 
  66. Schnittstellen für sie geeignet erscheinen. Außerdem erfahren sie die 
  67. Zuordnung von GEMDOS-Gerätetreibername (in U:\DEV\) zur BIOS-Gerätenummer.
  68.  
  69.  
  70. Mindestforderung an Treiber bei gesetztem GEMDOS-Bit
  71. ----------------------------------------------------
  72. Fopen, Fclose, Fread, Fwrite, Fcntl werden behandelt. Falls eine Funktion 
  73. (oder auch Unterfunktion von Fcntl) nicht vorhanden ist, muβ dafür ein 
  74. Fehlercode (mglst. Fehlercode -32 (EINVFN)) geliefert werden.
  75.  
  76. Fopen darf immer nur mit dem vollen Pfad "U:\DEV\devicename" erfolgen. 
  77. Konstruktionen mit Dsetdrv und Dsetpath sind UNZULÄSSIG.
  78.  
  79. Fcntl hat die Funktionsnummer $0104 und die Parameter:
  80. handle, special, subfunction
  81. handle:      16Bit filehandle
  82. special:     32Bit parameter for subfunction
  83. subfunction: 16Bit number of subfunction
  84.  
  85.  
  86. Funktionen
  87. ----------
  88. Die Funktionen sind im Textfile
  89. SERSOFST.TXT
  90. definiert. Einige werden von meinen Treibern schon unterstützt. Siehe 
  91. SERSOFST.TXT zu Einzelheiten und zum Status dieses (noch? nicht 
  92. Atari-offiziellen) Standards.
  93.  
  94.  
  95. Harun Scheutzow, 16.05.1993
  96. letzte Änderung: 21.11.1993
  97. (02.01.1993: nur Textaufteilung)
  98. Ergänzung Byte4.Bit0: 20.08.1994
  99. Harun_Scheutzow@B.maus.de
  100.  
  101. Harun Scheutzow
  102. Dresdener Straße 83
  103. D-10179 Berlin, Deutschland
  104.  
  105.  
  106.  
  107. Data structure for request and display of additional possibilities of
  108. serial (and possibly other) communication routines
  109. =====================================================================
  110.  
  111. (Translated from German to English on 1994-01-02 by Harun Scheutzow)
  112.  
  113. Cookie
  114. ------
  115. Name:  RSVF  (RS232 Version Fast)
  116. Value: Pointer to data structure
  117.        pointer must be <>0 and point to an even address
  118.  
  119. Data Structure
  120. --------------
  121. No matter how much objects can be placed one after the other as a list. On 
  122. the end of the list a further list can be appended. On the end of the last 
  123. list there is an end-object.
  124.  
  125. Object
  126. ------
  127. Every object is 8 byte long and starts on an even address. Byte 0..3 
  128. are a pointer to the name of the interface (filename) in ASCII. The Name 
  129. has to start on an even address and is 0-terminated.
  130. Byte 4..7 contain information about the attributes of the object (the 
  131. interface). Not yet defined bits/bytes must be setted to 0 by the creating 
  132. program.
  133. Should additional information become necessary in the future, its 
  134. existence will be displayed by some bits in byte 4..7. The information 
  135. itself will lay in front of the name of the interface.
  136.  
  137. Outstanding Objects
  138. -------------------
  139. Outstanding objects are marked by bute4.bit7 =0.
  140. end-object:
  141.  byte 0..3  0, a NIL-pointer, marks the end of the data structure
  142. link-object:
  143.  byte 0..3  pointer to the next list of objects
  144.  
  145. Attribut definitions in the value
  146. ---------------------------------
  147. Byte 4:
  148.  Bit7  =1: this name is an interface
  149.  Bit6  =1: this interface is known to the GEMDOS for fileI/O
  150.  Bit5  =1: this interface is known to the BIOS (Bco*-routines)
  151.  for the remainder we will have ideas in the future
  152.  Bit0  =1: Before the name (nameaddress-4) there is a pointer
  153.            to an array of pointers to functions, as passed to the
  154.            Magic version3 function Dcntl.
  155. Byte 5:
  156.  free for future use
  157. Byte 6:
  158.  BIOS-number of the interface (Bco*-routines)
  159. Byte 7:
  160.  free for future use
  161.  
  162.  
  163. Sence and Purpose
  164. -----------------
  165. Communication programs can find out which interfaces suit themselves by 
  166. using RSVF. Additional they get to know the assignment GEMDOS-interface 
  167. name (in U:\DEV\) to BIOS-device number.
  168.  
  169.  
  170. Least demands for driver with GEMDOS-bit set
  171. --------------------------------------------
  172. Fopen, Fclose, Fread, Fwrite, Fcntl are managed. If a function (or 
  173. subfunction of Fcntl too) is not available, an error code (-32 (EINVFN) or 
  174. so) must be returned.
  175.  
  176. Fopen is only allowed with the full path "U:\DEV\devicename". 
  177. Constructions with Dsetdrv and Dsetpath are PROHIBITED.
  178.  
  179. Fcntl has the function number $0104 and the parameter:
  180. handle, special, subfunction
  181. handle:      16Bit filehandle
  182. special:     32Bit parameter for subfunction
  183. subfunction: 16Bit number of subfunction
  184.  
  185.  
  186. Functions
  187. ---------
  188. The functions are defined in the text file
  189. SERSOFST.TXT
  190. Some are supported by my drivers until now. See SERSOFST.TXT about details 
  191. and status of this (until now? not offical Atari) standards.
  192.  
  193.  
  194. Harun Scheutzow, 16.May.1993
  195. last change: 21.Nov.1993
  196. (02.Jan.1993: only text layout)
  197. added Byte4.Bit0: 20.Aug.1994
  198.  
  199. Harun_Scheutzow@B.maus.de
  200.  
  201. Harun Scheutzow
  202. Dresdener Straße 83
  203. D-10179 Berlin, Deutschland
  204.